<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>司机信息</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="/layui/css/layui.css" media="all">
    <!-- 注意：如果你直接复制所有代码到本地，上述css路径需要改成你本地的 -->
</head>
<body>

<div class="demoTable">
    搜索手机号：
    <div class="layui-inline">
        <input class="layui-input" name="id" id="demoReload" autocomplete="off">
    </div>
    <button class="layui-btn" data-type="reload">搜索</button>
</div>

<table class="layui-hide" id="LAY_table_user" lay-filter="user"></table>


<script src="/layui/layui.js" charset="utf-8"></script>

<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

<!-- 注意：如果你直接复制所有代码到本地，上述 JS 路径需要改成你本地的 -->
<script>
    layui.use('table', function () {
        var table = layui.table;

        //方法级渲染
        table.render({
            elem: '#LAY_table_user'
            , url: '/driverAdmin/showDriver' // 后端请求路径 返回json
            , cols: [
                [
                    {checkbox: true, fixed: true}
                    , {field: 'id', title: 'ID', width: 80, sort: true, fixed: true}
                    , {field: 'phoneNumber', title: '手机号', width: 80}
                    , {field: 'driverLeader', title: '司机领导', width: 80}
                    , {field: 'driverName', title: '司机姓名', width: 80}
                    , {field: 'registerTime', title: '注册时间', width: 80,}
                    , {field: 'balance', title: '余额', width: 80}
                    , {field: 'gender', title: '性别', width: 80,}
                    , {field: 'carId', title: '车辆ID', width: 80}
                    , {field: 'isFollowing', title: '是否顺风单', width: 80}
                    , {field: 'workStatus', title: '工作状态', width: 80}
                    , {field: 'headImg', title: '头像', width: 80, sort: true}
                    , {field: 'cityCode', title: '城市代码', width: 80}
                    , {field: 'bindTime', title: '绑定时间', width: 80}
                    , {field: 'useStatus', title: '启用停用状态', sort: true, width: 80,}
                    , {field: 'signStatus', title: '车辆工作状态', sort: true, width: 80}
                    , {field: 'csWorkStatus', title: '签约状态', sort: true, width: 80}
                    , {field: 'createTime', title: '创建时间', width: 80}
                    , {field: 'updateTime', title: '修改时间', sort: true, width: 135}
                    , {fixed: 'right', title: '操作', width: 178, align: 'center', toolbar: '#barDemo'}
                    // , {  title: '操作', sort: true, width: 135 }
                ]
            ]
            , id: 'testReload'
            , page: true   // 自动携带两个参数  page 当前页数   limit 每页数量
            , height: 610
            , parseData: function (res) { //res 即为原始返回的数据  responseData{ code :""  msg :"" , data:""}
                return {
                    "code": res.code, //解析接口状态
                    "msg": res.msg, //解析提示文本
                    "count": res.data.total, //解析数据长度
                    "data": res.data.list //解析数据列表
                };
            }
            , response: {
                // statusName: 'status' //规定数据状态的字段名称，默认：code
                statusCode: 200 //规定成功的状态码，默认：0
                // ,msgName: 'hint' //规定状态信息的字段名称，默认：msg
                // ,countName: 'total' //规定数据总数的字段名称，默认：count
                // ,dataName: 'rows' //规定数据列表的字段名称，默认：data
            }
        });

        //监听工具条
        table.on('tool(user)', function (obj) {
            var data = obj.data;
            if (obj.event === 'detail') {
                detail(data.id);
            } else if (obj.event === 'del') {
                // 删除操作 ，弹出提示框
                layer.confirm('真的删除此数据么', function (index) {
                    // layer.alert(JSON.stringify(data))
                    // obj.del();
                    // 使用后端删除 ajax ， 重新加载表格数据
                    $.ajax({
                        url: "/driverAdmin/deleteDriver"
                        , data: {id: data.id}
                        , dataType: 'json'
                        , success: function (data) {
                            layer.msg(data.msg)
                        }
                    })
                    layer.close(index);
                    table.reload('testReload');
                });
            } else if (obj.event === 'edit') {
                edit(data.id);
                // layer.alert('编辑行：<br>'+ JSON.stringify(data))
            }
        });

        function detail(id) {
            //定义全局变量
            driverShowId = id;
            layer.open({
                type: 2 //此处以iframe举例
                , title: '查看'
                , area: ['800px', '360px']
                , shade: 0
                , maxmin: true
                , content: "/driverAdmin/driverShow"
            });
        }

        function edit(id) {
            // 全局变量
            driverId = id;
            var that = this;
            //多窗口模式，层叠置顶
            layer.open({
                type: 2 //此处以iframe举例
                , title: '修改'
                , area: ['800px', '360px']
                , shade: 0
                , maxmin: true
                , content: "/driverAdmin/driverUpdate"
                // ,btn: ['修改', '关闭'] //只是为了演示
                // ,yes: function(){
                //     $(that).click();
                // }
                // ,btn2: function(){
                //     layer.close();
                // }
            });
        }

        var $ = layui.$, active = {
            reload: function () {
                // jquery
                var demoReload = $('#demoReload');

                //执行重载
                table.reload('testReload', {
                    // url:"", 新调用的接口
                    page: {
                        curr: 1 //重新从第 1 页开始
                    }
                    , where: {
                        "phoneNumber": demoReload.val()
                    }
                });
            }
        };

        $('.demoTable .layui-btn').on('click', function () {
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });
    });
</script>

</body>
</html>